package com.hunttown.mes.rpc.domain.enums.pay;

import java.util.HashMap;
import java.util.Map;

/**
 * 支付状态：-2交易取消 -1交易失败 0未支付 1交易成功 2部分交易 10交易成功$
 * <p>
 * created by wangjunfu on 2019/08/19
 */
public enum PayStatusEnum {
    CANCEL(-2, "交易取消"),
    FAIL(-1, "交易失败"),
    NEWPAY(0, "未支付"),
    SUCCESS(1, "交易成功"),
    PART(2, "部分交易"),
    SUCCESS_APP(10, "交易成功$"); //移动端交易成功标志，因为有一个bug，就是：异步通知慢于移动端时，会有充值不成功的情况，所以加一个状态10

    private final int key;
    private final String value;

    PayStatusEnum(int key, String value) {
        this.key = key;
        this.value = value;
    }

    // 根据key获取枚举
    public static String getEnumByKey(int key) {
        String value = "";

        for (PayStatusEnum temp : PayStatusEnum.values()) {
            if (temp.getKey() == key) {
                value = temp.getValue();
            }
        }

        return value;
    }

    // 将枚举组成Map
    public static Map<Integer, String> getEnumList() {
        Map<Integer, String> map = new HashMap<>();

        for (PayStatusEnum temp : PayStatusEnum.values()) {
            map.put(temp.getKey(), temp.getValue());
        }

        return map;
    }

    public int getKey() {
        return key;
    }

    public String getValue() {
        return value;
    }
}
